<?php
/**
 * 用户数据管理
 * @author JohnnyDen <413819942@qq.com>
 * @package NMClient\Api
 * @copyright 2018年11月13日
 */
namespace NMClient\Api;

use \NMClient\Core\Base;

class User extends Base {
    
    /**
     * 获取用户帐号和动态密码，用于模拟Form表单登录
     * @param string $access_token 通信令牌
     * @param int $id_xpp_user 当前登录的用户ID
     * @return array
     * <code>
     * array(
     *      'status'    => 'ok',
     *      'info'      => '',
     *      'data'      => array(
     *          'username'          => '18107562870',   //登录帐号
     *          'dynamic_passwd'    => '******',//动态登录密码
     *       ),
     * );
     * </code>
     * <b>status值</b>
     * - ok:            成功
     * - exe_fail:      执行失败
     */
    static public function getAccountDynamicPasswd($access_token, $id_xpp_user = 0) {
        return self::call(__CLASS__, __FUNCTION__, func_get_args());
    }
    
    /**
     * 获取用户信息
     * @param string $access_token 通信令牌
     * @return array
     * <code>
     * array(
     *      'status'    => 'ok',
     *      'info'      => '',
     *      'data'      => array(
     *          'username'  => '18107562870',   //登录帐号
     *          'view_pwd'  => '******',    //动态登录密码
     *          'nickname'  => '',          //昵称
     *       ),
     * );
     * </code>
     */
    static public function getAccount($access_token) {
        return self::call(__CLASS__, __FUNCTION__, func_get_args());
    }
    
    /**
     * 修改帐号信息
     * @param string $access_token 通信令牌
     * @param string $nickname 昵称
     * @param string $password 密码，为空时不修改
     * @return array
     * <code>
     * array(
     *      'status'    => 'ok',
     *      'info'      => '',
     *      'data'      => array(),
     * );
     * </code>
     * <b>status值</b>
     * - ok:            成功
     * - exe_fail:      执行失败
     * - empty_nickname:昵称不能为空
     * - no_access_is_demo: 体验帐号无权操作
     */
    static public function saveAccount($access_token, $nickname, $password = null) {
        return self::call(__CLASS__, __FUNCTION__, func_get_args());
    }
    
}